package cn.admobiletop.adsuyi.adapter.gdt.data;

import android.app.Activity;

import com.qq.e.ads.interstitial2.UnifiedInterstitialAD;

import cn.admobiletop.adsuyi.ad.data.ADSuyiInterstitialAdInfo;
import cn.admobiletop.adsuyi.ad.listener.ADSuyiInterstitialAdListener;
import cn.admobiletop.adsuyi.adapter.gdt.manager.DownloadConfirmHelper;

/**
 * @author ciba
 * @description 插屏广告内容对象
 *              需要继承 BaseAdInfo<ADSuyiInterstitialAdListener, E>，其中E为渠道的插屏视频广告对象，并实现 ADSuyiInterstitialAdInfo 接口
 * @date 2020/4/8
 */
public class InterstitialAdInfo extends BaseAdInfo<ADSuyiInterstitialAdListener, UnifiedInterstitialAD> implements ADSuyiInterstitialAdInfo {
    /**
     * 广告是否已展示，如果渠道没有该状态，可以在FullScreenVodAdInfo对象内手动维护一个广告已被展示标识
     */
    private boolean hasShow;

    public InterstitialAdInfo(String platformPosId) {
        super(platformPosId);
    }

    /**
     * 展示开屏广告
     * @param activity 展示插屏广告的activity
     */
    @Override
    public void showInterstitial(Activity activity) {
        if (activity != null
                && !isReleased()
                && isReady()
                && getAdapterAdInfo() != null
                && !hasShown()
                && !hasExpired()) {
            hasShow = true;
            // 以下为调用广点通展示插屏的方法
            getAdapterAdInfo().show(activity);
        }
    }

    /**
     * 广告是否使用过
     * @return
     */
    @Override
    public boolean hasShown() {
        return hasShow;
    }

    /**
     * 广告是否过期
     * @return
     */
    @Override
    public boolean hasExpired() {
        return false;
    }

    /**
     * 广告是否可播放
     * @return
     */
    @Override
    public boolean isReady() {
        return true;
    }

    /**
     * 广告释放
     */
    @Override
    public void releaseAdapter() {
        super.releaseAdapter();
        setAdapterAdInfo(null);
    }
}
